<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>

<html>

<head>
	<title>Metrolib... An OO Game</title>
	<meta name="version"
		content="$Id$" />
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<link rel="stylesheet" type="text/css" href="/stylesheet.css" title="style"/>
</head>

<body bgcolor="white">
<!-- Make bgcolor agree with stylesheet for those on slow links... -->

<h1>Metrolib... An OO Game</h1>
<p>This is a very incomplete resurrection from memory of the very first
quasi-OO program I wrote, so long ago that its very source code has
crumbled into bits and returned to the ether. What was key about
it to me, all those long years ago, was the discovery that
by the almost-trivial act of assigning  the "current room"
variable, I was able to change the state of the entire universe.
Bear in mind this was in the early 1980's and the original was written in C.
</p>
<p>The game itself was a text-based adventure game involving
the exploration of the old "Metro Library" building on the
corner of College Street &amp; St. George in Toronto. When I was there
it had been partly taken over as "the engineering cafeteria"
and was in a state of decay from its original Gothic splendor;
it has since been renovated and reopened as the Koffler Student Centre.
</p>

<ul>
<li><a href="MetroLib.java">MetroLib.java</a>, the main program</li>
<li><a href="Room.java">Room.java</a>, representing one room</li>
<li><a href="Rooms.java">Rooms.java</a>, the data structure of all rooms;
	this file would normally be generated by a simple pre-processor
	from a database or text file listing all the rooms.</li>
</ul>
</body>
</html>
